#ifndef __ADS7867_H
#define __ADS7867_H

#include "main.h"

typedef struct
{
    uint8_t chan;

    SPI_HandleTypeDef *spix;

    GPIO_TypeDef *gpio_cs;
    uint16_t gpio_pin_cs;
    GPIO_PinState cs_valid;

    uint16_t data;

} t_ads7867, *p_ads7867;


extern t_ads7867 ads7867_dev[3];


void ads7867_init(p_ads7867 dev, uint8_t chan, SPI_HandleTypeDef *spix, GPIO_TypeDef *gpio_cs, uint16_t gpio_pin_cs, GPIO_PinState cs_valid);
uint16_t ads7867_read(p_ads7867 dev);

#endif
